#ifndef _IEWEBEVENTHANDLER_H_
#define _IEWEBEVENTHANDLER_H_

#include "ieobj.h"

class CIEWebEventHandlerImpl: public IDocHostUIHandlerDispatch
{
public:	
	CIEWebEventHandlerImpl();
	~CIEWebEventHandlerImpl();

//IDocHostUIHandlerDispatch
//////////////////////////////////////////////////////////////////////////////
	HRESULT STDMETHODCALLTYPE ShowContextMenu(
		/* [in] */ DWORD dwID,
		/* [in] */ DWORD x,
		/* [in] */ DWORD y,
		/* [in] */ IUnknown *pcmdtReserved,
		/* [in] */ IDispatch *pdispReserved,
		/* [retval][out] */ HRESULT *dwRetVal);

	HRESULT STDMETHODCALLTYPE GetHostInfo(
		/* [out][in] */ DWORD *pdwFlags,
		/* [out][in] */ DWORD *pdwDoubleClick);

	HRESULT STDMETHODCALLTYPE ShowUI(
		/* [in] */ DWORD dwID,
		/* [in] */ IUnknown *pActiveObject,
		/* [in] */ IUnknown *pCommandTarget,
		/* [in] */ IUnknown *pFrame,
		/* [in] */ IUnknown *pDoc,
		/* [retval][out] */ HRESULT *dwRetVal);

	HRESULT STDMETHODCALLTYPE HideUI(void);

	HRESULT STDMETHODCALLTYPE UpdateUI(void);

	HRESULT STDMETHODCALLTYPE EnableModeless(
		/* [in] */ VARIANT_BOOL fEnable);

	HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
		/* [in] */ VARIANT_BOOL fActivate);

	HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
		/* [in] */ VARIANT_BOOL fActivate);

	HRESULT STDMETHODCALLTYPE ResizeBorder(
		/* [in] */ long left,
		/* [in] */ long top,
		/* [in] */ long right,
		/* [in] */ long bottom,
		/* [in] */ IUnknown *pUIWindow,
		/* [in] */ VARIANT_BOOL fFrameWindow);

	HRESULT STDMETHODCALLTYPE TranslateAccelerator(
		/* [in] */ DWORD_PTR hWnd,
		/* [in] */ DWORD nMessage,
		/* [in] */ DWORD_PTR wParam,
		/* [in] */ DWORD_PTR lParam,
		/* [in] */ BSTR bstrGuidCmdGroup,
		/* [in] */ DWORD nCmdID,
		/* [retval][out] */ HRESULT *dwRetVal);

	HRESULT STDMETHODCALLTYPE GetOptionKeyPath(
		/* [out] */ BSTR *pbstrKey,
		/* [in] */ DWORD dw) = 0;

	HRESULT STDMETHODCALLTYPE GetDropTarget(
		/* [in] */ IUnknown *pDropTarget,
		/* [out] */ IUnknown **ppDropTarget);

	HRESULT STDMETHODCALLTYPE GetExternal(
		/* [out] */ IDispatch **ppDispatch);

	HRESULT STDMETHODCALLTYPE TranslateUrl(
		/* [in] */ DWORD dwTranslate,
		/* [in] */ BSTR bstrURLIn,
		/* [out] */ BSTR *pbstrURLOut);

	HRESULT STDMETHODCALLTYPE FilterDataObject(
		/* [in] */ IUnknown *pDO,
		/* [out] */ IUnknown **ppDORet);
//////////////////////////////////////////////////////////////////////////////
public: 

};


#endif 